//
//  main.m
//  C2_c语言分支结构
//
//  Created by dllo on 15/10/7.
//  Copyright (c) 2015年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
  
   // 定义BOOL类型变量
    // BOOL 也是数据类型,特点是只关心真假
    // 真:非0     假:0
//    BOOL ret = 0;
    
 // 5 > 3叫做表达式 -> 表达式是有变量/常量/运算符组成,表达式都有返回值.如5>3这个表达式的返回值即这个判断的结果(真/假)
//    ret = 5 > 3 ;
//    printf("%d\n", ret);
//    
//    int a = 5;
//    
//    // 重要的编码规范:常量写在==的前面
//    ret = 5 == a ;
//    printf("%d\n", ret);
    
//    int a = 0,b = 0;
//    scanf("%d%d", &a, &b);
//    BOOL ret = a > b;
//    printf("%d",ret);
    
//    BOOL ret = 0;
//    int a = 0;
//    int b = 0;
//    
//    //从键盘输入两个变量值
//    scanf("%d%d", &a, &b);
//    
//    //用BOOL变量存比较结果
//    ret = a >= b;
//    
//    //打印输出结果
//    printf("%d\n",ret);
//    int a = 1, b = 2;
//    int c = a +++ b;
//    printf("%d\n",c);
//    printf("%d\n",a);

//    BOOL  ret = 0;
    // 逻辑与,两端表达式都为真,结果才为真.
    // 注意!!!
    //逻辑与的短路效应:若表达式1为假,则表达式2不会被执行
//    
//    ret = 5 > 3 && 6 < 7;
//    printf("%d\n", ret);
//    
//    // 逻辑或,两端表达式都为假,结果才为假
//    //注意!!!
//    //逻辑或的短路效应:若表达式1为真,则表达式2不会被执行
//    
//    ret = 5 > 3 || 6 > 7;
//    printf("%d\n", ret);
    
    // 逻辑非,注意与谁先结合
//    ret = !(5 > 3 && 6 > 7);
//    printf("%d\n", ret);
    
    //控制台输入一个字符，如果输入的是m，则输出男性，否则什么都不输出。
    
//    char val = 0;
//    scanf("%c", &val);
//    if ('m' == val) {
//        printf("男性\n");
//    }else{
//    
//        printf("女性\n");
//    }
    
//    int a = 0;
//    scanf("%d", &a);
//    
//    //注意判断的写法
//    if (3 <= a && a <= 10) {
//        printf("good!\n");
//    }
    
    //若条件成立,执行分支1;否则执行分支2
//    if (5 > 3) {
//        printf("分支1\n");
//    } else {
//        printf("分支2\n");
//    }
    
//    int x = 0;
//    int y = 0;
//    scanf("%d", &x);
//    
//    //若x >= 5; y = 2x; 否则y = 3x - 1
//    if (5 <= x) {
//        y = 2 * x;
//    } else {
//        y = 3 * x - 1;
//    }
//    
//    printf("%d\n", y);
    
    
//    int x = 0;
//        int y = 0;
//        scanf("%d", &x);
//    
//        //若x >= 5; y = 2x; 若3 <= x < 5; y = x * x;否则y = 3x - 1
//        if (5 <= x) {
//            y = 2 * x;
//        } else if(3 <= x && x < 5) {
//            y = x * x;
//        } else {
//            y = 3 * x - 1;
//            
//        }
//        
//        printf("%d\n", y);

    
    
    //从键盘输入一个字符，如果是数字打印this is digital，如果是大写字母，打印this is  capital letter，如果是小写字母，打印this is letter，如果是其他字符，打印other。
//    
//    char a = 0;
//    scanf("%c", &a);
//    if ('A' <= a && a <= 'Z') {
//        printf("this is capital letter");
//    } else if ('a' <= a && a <= 'z') {
//        printf("this is letter");
//    } else if ('0' <= a && a <= '9') {
//        printf("this is digital");
//    } else {
//        printf("other");
//    }
    
    
    //输入两个书,打印最大值
    
//    int a = 0, b = 0;
//    scanf("%d%d", &a, &b);
//    if (a > b) {
//        printf("%d\n", a);
//    } else {
//        printf("%d\n", b);
//    }
    
//    int a = 0;
//    int b = 0;
//    int max = 0;
//    scanf("%d%d", &a, &b);
////    if (a > b) {
////        max = a;
////    } else {
////        max = b;
////    }
//    
//    //条件运算符
//    //1 ? 2 : 3 -> 若1为真,则返回2,否则返回3
//    //若a > b成立,则返回a, 否则返回b
//    max = a > b ? a : b;
//    printf("max = %d\n", max);
    
    enum season {
        spring = 1,  //默认从0开始
        summer,
        autumn,
        winter
    
    };
    
    
    
    
    int a = 0;
    
    //注意 case后面加常量表达式;default可以不写;case可以添加任意多个;a得是整型(字符型对应的ASCII码也是整型);break若不加,程序会继续执行下面的分支
    
    scanf("%d",&a);
    switch (a) {
        case spring:
            printf("spring\n");
            break;
            
        case 2:
            printf("summer\n");
            break;
            
        case 3:
            printf("autumn\n");
            break;
            
        case 4:
            printf("winter\n");
            break;
            
        default:
            printf("没找着\n");
            break;
    }
//
//    char val = 'A';
//    printf("%d", val);
    
    
    
    
    return 0;
}
